{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Car Price Prediction.ipynb",
      "provenance": [],
      "authorship_tag": "ABX9TyMr85NbQdPo3ZVFJcBYXLN3",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/SarraChebaane/Machine-Learning-Projects-for-Beginners/blob/main/Car_Price_Prediction.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Import the dependencies"
      ],
      "metadata": {
        "id": "M_OWe0bF0ZzO"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import pandas as pd \n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns \n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.linear_model import LinearRegression\n",
        "from sklearn.linear_model import Lasso \n",
        "from sklearn import metrics "
      ],
      "metadata": {
        "id": "fH7OP2AC0aIt"
      },
      "execution_count": 1,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Data Collection and Processing "
      ],
      "metadata": {
        "id": "ueWmehRx1zJH"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# loading the data from csv to pandas dataframe\n",
        "car_dataset = pd.read_csv('/content/car data.csv')\n"
      ],
      "metadata": {
        "id": "2DvbKlBe1ycU"
      },
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# inspectong the first 5 rows of the dataframe\n",
        "car_dataset.head()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 270
        },
        "id": "MXO-ycSZ2KYH",
        "outputId": "0df99a69-e625-4361-d6d0-a3cd49071130"
      },
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "  Car_Name  Year  Selling_Price  Present_Price  Kms_Driven Fuel_Type  \\\n",
              "0     ritz  2014           3.35           5.59       27000    Petrol   \n",
              "1      sx4  2013           4.75           9.54       43000    Diesel   \n",
              "2     ciaz  2017           7.25           9.85        6900    Petrol   \n",
              "3  wagon r  2011           2.85           4.15        5200    Petrol   \n",
              "4    swift  2014           4.60           6.87       42450    Diesel   \n",
              "\n",
              "  Seller_Type Transmission  Owner  \n",
              "0      Dealer       Manual      0  \n",
              "1      Dealer       Manual      0  \n",
              "2      Dealer       Manual      0  \n",
              "3      Dealer       Manual      0  \n",
              "4      Dealer       Manual      0  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-38a9f95a-fc79-4446-9336-2145714604c2\">\n",
              "    <div class=\"colab-df-container\">\n",
              "      <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Car_Name</th>\n",
              "      <th>Year</th>\n",
              "      <th>Selling_Price</th>\n",
              "      <th>Present_Price</th>\n",
              "      <th>Kms_Driven</th>\n",
              "      <th>Fuel_Type</th>\n",
              "      <th>Seller_Type</th>\n",
              "      <th>Transmission</th>\n",
              "      <th>Owner</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>ritz</td>\n",
              "      <td>2014</td>\n",
              "      <td>3.35</td>\n",
              "      <td>5.59</td>\n",
              "      <td>27000</td>\n",
              "      <td>Petrol</td>\n",
              "      <td>Dealer</td>\n",
              "      <td>Manual</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>sx4</td>\n",
              "      <td>2013</td>\n",
              "      <td>4.75</td>\n",
              "      <td>9.54</td>\n",
              "      <td>43000</td>\n",
              "      <td>Diesel</td>\n",
              "      <td>Dealer</td>\n",
              "      <td>Manual</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>ciaz</td>\n",
              "      <td>2017</td>\n",
              "      <td>7.25</td>\n",
              "      <td>9.85</td>\n",
              "      <td>6900</td>\n",
              "      <td>Petrol</td>\n",
              "      <td>Dealer</td>\n",
              "      <td>Manual</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>wagon r</td>\n",
              "      <td>2011</td>\n",
              "      <td>2.85</td>\n",
              "      <td>4.15</td>\n",
              "      <td>5200</td>\n",
              "      <td>Petrol</td>\n",
              "      <td>Dealer</td>\n",
              "      <td>Manual</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>swift</td>\n",
              "      <td>2014</td>\n",
              "      <td>4.60</td>\n",
              "      <td>6.87</td>\n",
              "      <td>42450</td>\n",
              "      <td>Diesel</td>\n",
              "      <td>Dealer</td>\n",
              "      <td>Manual</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-38a9f95a-fc79-4446-9336-2145714604c2')\"\n",
              "              title=\"Convert this dataframe to an interactive table.\"\n",
              "              style=\"display:none;\">\n",
              "        \n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
              "  </svg>\n",
              "      </button>\n",
              "      \n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      flex-wrap:wrap;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "      <script>\n",
              "        const buttonEl =\n",
              "          document.querySelector('#df-38a9f95a-fc79-4446-9336-2145714604c2 button.colab-df-convert');\n",
              "        buttonEl.style.display =\n",
              "          google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "        async function convertToInteractive(key) {\n",
              "          const element = document.querySelector('#df-38a9f95a-fc79-4446-9336-2145714604c2');\n",
              "          const dataTable =\n",
              "            await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                     [key], {});\n",
              "          if (!dataTable) return;\n",
              "\n",
              "          const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "            '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "            + ' to learn more about interactive tables.';\n",
              "          element.innerHTML = '';\n",
              "          dataTable['output_type'] = 'display_data';\n",
              "          await google.colab.output.renderOutput(dataTable, element);\n",
              "          const docLink = document.createElement('div');\n",
              "          docLink.innerHTML = docLinkHtml;\n",
              "          element.appendChild(docLink);\n",
              "        }\n",
              "      </script>\n",
              "    </div>\n",
              "  </div>\n",
              "  "
            ]
          },
          "metadata": {},
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# cheking the number of rows and columns \n",
        "car_dataset.shape"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "yG4ZgXXi2cOk",
        "outputId": "c0ef6900-ff33-4313-cb1d-1aa46774296b"
      },
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(301, 9)"
            ]
          },
          "metadata": {},
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# getting some information about the dataset\n",
        "car_dataset.info()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ejyOg5rA2zyK",
        "outputId": "d39c8e34-f6d0-4b0d-d774-45f8015b6c95"
      },
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "<class 'pandas.core.frame.DataFrame'>\n",
            "RangeIndex: 301 entries, 0 to 300\n",
            "Data columns (total 9 columns):\n",
            " #   Column         Non-Null Count  Dtype  \n",
            "---  ------         --------------  -----  \n",
            " 0   Car_Name       301 non-null    object \n",
            " 1   Year           301 non-null    int64  \n",
            " 2   Selling_Price  301 non-null    float64\n",
            " 3   Present_Price  301 non-null    float64\n",
            " 4   Kms_Driven     301 non-null    int64  \n",
            " 5   Fuel_Type      301 non-null    object \n",
            " 6   Seller_Type    301 non-null    object \n",
            " 7   Transmission   301 non-null    object \n",
            " 8   Owner          301 non-null    int64  \n",
            "dtypes: float64(2), int64(3), object(4)\n",
            "memory usage: 21.3+ KB\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# checking the number of missing values \n",
        "car_dataset.isnull().sum()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Ejumfy9b3WOf",
        "outputId": "3043ce50-8ef9-425d-e7e8-be390133797d"
      },
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Car_Name         0\n",
              "Year             0\n",
              "Selling_Price    0\n",
              "Present_Price    0\n",
              "Kms_Driven       0\n",
              "Fuel_Type        0\n",
              "Seller_Type      0\n",
              "Transmission     0\n",
              "Owner            0\n",
              "dtype: int64"
            ]
          },
          "metadata": {},
          "execution_count": 8
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# checking the distribution of categories data \n",
        "print(car_dataset.Fuel_Type.value_counts())\n",
        "print(car_dataset.Seller_Type.value_counts())\n",
        "print(car_dataset.Transmission.value_counts())"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "n5CJYfn330CE",
        "outputId": "c1ce9955-e6ea-4b25-8d66-5cd19119c397"
      },
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Petrol    239\n",
            "Diesel     60\n",
            "CNG         2\n",
            "Name: Fuel_Type, dtype: int64\n",
            "Dealer        195\n",
            "Individual    106\n",
            "Name: Seller_Type, dtype: int64\n",
            "Manual       261\n",
            "Automatic     40\n",
            "Name: Transmission, dtype: int64\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Encoding the Categorical Data "
      ],
      "metadata": {
        "id": "7PH9-X9R67Am"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# encoding 'Fuel_type' Column\n",
        "car_dataset.replace({'Fuel_Type':{'Petrol':0,'Diesel':1,'CNG':2}},inplace=True)\n",
        "# encoding 'Sller_type' Column\n",
        "car_dataset.replace({'Seller_Type':{'Dealer':0,'Individual':1}},inplace=True)\n",
        "# encoding 'Transmission' Column\n",
        "car_dataset.replace({'Transmission':{'Manual':0,'Automatic':1}},inplace=True)"
      ],
      "metadata": {
        "id": "zVrUBnVg61gk"
      },
      "execution_count": 15,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "car_dataset.head()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 270
        },
        "id": "gs8D6Ege72RH",
        "outputId": "35540262-6a73-4ae1-c11f-f7c718649127"
      },
      "execution_count": 16,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "  Car_Name  Year  Selling_Price  Present_Price  Kms_Driven  Fuel_Type  \\\n",
              "0     ritz  2014           3.35           5.59       27000          0   \n",
              "1      sx4  2013           4.75           9.54       43000          1   \n",
              "2     ciaz  2017           7.25           9.85        6900          0   \n",
              "3  wagon r  2011           2.85           4.15        5200          0   \n",
              "4    swift  2014           4.60           6.87       42450          1   \n",
              "\n",
              "   Seller_Type  Transmission  Owner  \n",
              "0            0             0      0  \n",
              "1            0             0      0  \n",
              "2            0             0      0  \n",
              "3            0             0      0  \n",
              "4            0             0      0  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-a3041cae-57d0-43ee-bef0-0a9e9d8ff0f8\">\n",
              "    <div class=\"colab-df-container\">\n",
              "      <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Car_Name</th>\n",
              "      <th>Year</th>\n",
              "      <th>Selling_Price</th>\n",
              "      <th>Present_Price</th>\n",
              "      <th>Kms_Driven</th>\n",
              "      <th>Fuel_Type</th>\n",
              "      <th>Seller_Type</th>\n",
              "      <th>Transmission</th>\n",
              "      <th>Owner</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>ritz</td>\n",
              "      <td>2014</td>\n",
              "      <td>3.35</td>\n",
              "      <td>5.59</td>\n",
              "      <td>27000</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>sx4</td>\n",
              "      <td>2013</td>\n",
              "      <td>4.75</td>\n",
              "      <td>9.54</td>\n",
              "      <td>43000</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>ciaz</td>\n",
              "      <td>2017</td>\n",
              "      <td>7.25</td>\n",
              "      <td>9.85</td>\n",
              "      <td>6900</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>wagon r</td>\n",
              "      <td>2011</td>\n",
              "      <td>2.85</td>\n",
              "      <td>4.15</td>\n",
              "      <td>5200</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>swift</td>\n",
              "      <td>2014</td>\n",
              "      <td>4.60</td>\n",
              "      <td>6.87</td>\n",
              "      <td>42450</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-a3041cae-57d0-43ee-bef0-0a9e9d8ff0f8')\"\n",
              "              title=\"Convert this dataframe to an interactive table.\"\n",
              "              style=\"display:none;\">\n",
              "        \n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
              "  </svg>\n",
              "      </button>\n",
              "      \n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      flex-wrap:wrap;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "      <script>\n",
              "        const buttonEl =\n",
              "          document.querySelector('#df-a3041cae-57d0-43ee-bef0-0a9e9d8ff0f8 button.colab-df-convert');\n",
              "        buttonEl.style.display =\n",
              "          google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "        async function convertToInteractive(key) {\n",
              "          const element = document.querySelector('#df-a3041cae-57d0-43ee-bef0-0a9e9d8ff0f8');\n",
              "          const dataTable =\n",
              "            await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                     [key], {});\n",
              "          if (!dataTable) return;\n",
              "\n",
              "          const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "            '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "            + ' to learn more about interactive tables.';\n",
              "          element.innerHTML = '';\n",
              "          dataTable['output_type'] = 'display_data';\n",
              "          await google.colab.output.renderOutput(dataTable, element);\n",
              "          const docLink = document.createElement('div');\n",
              "          docLink.innerHTML = docLinkHtml;\n",
              "          element.appendChild(docLink);\n",
              "        }\n",
              "      </script>\n",
              "    </div>\n",
              "  </div>\n",
              "  "
            ]
          },
          "metadata": {},
          "execution_count": 16
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Splitting the data and Target"
      ],
      "metadata": {
        "id": "Pw4IceBx8Agm"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X = car_dataset.drop(['Car_Name','Selling_Price'],axis=1)\n",
        "Y = car_dataset['Selling_Price']"
      ],
      "metadata": {
        "id": "azYxOJYh78_I"
      },
      "execution_count": 18,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "print(X)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "q5pEAjXt8uAl",
        "outputId": "dfa31f7e-ee14-4344-bc8c-fc9a5dafbbc6"
      },
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "     Year  Present_Price  Kms_Driven  Fuel_Type  Seller_Type  Transmission  \\\n",
            "0    2014           5.59       27000          0            0             0   \n",
            "1    2013           9.54       43000          1            0             0   \n",
            "2    2017           9.85        6900          0            0             0   \n",
            "3    2011           4.15        5200          0            0             0   \n",
            "4    2014           6.87       42450          1            0             0   \n",
            "..    ...            ...         ...        ...          ...           ...   \n",
            "296  2016          11.60       33988          1            0             0   \n",
            "297  2015           5.90       60000          0            0             0   \n",
            "298  2009          11.00       87934          0            0             0   \n",
            "299  2017          12.50        9000          1            0             0   \n",
            "300  2016           5.90        5464          0            0             0   \n",
            "\n",
            "     Owner  \n",
            "0        0  \n",
            "1        0  \n",
            "2        0  \n",
            "3        0  \n",
            "4        0  \n",
            "..     ...  \n",
            "296      0  \n",
            "297      0  \n",
            "298      0  \n",
            "299      0  \n",
            "300      0  \n",
            "\n",
            "[301 rows x 7 columns]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "print(Y)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "gGU3U9V18zY2",
        "outputId": "c5c5c01b-a4f4-4a1d-dddf-d047cf927d8f"
      },
      "execution_count": 20,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "0       3.35\n",
            "1       4.75\n",
            "2       7.25\n",
            "3       2.85\n",
            "4       4.60\n",
            "       ...  \n",
            "296     9.50\n",
            "297     4.00\n",
            "298     3.35\n",
            "299    11.50\n",
            "300     5.30\n",
            "Name: Selling_Price, Length: 301, dtype: float64\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Splitting Training and Test Data"
      ],
      "metadata": {
        "id": "T7J0jplu89bM"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.1,random_state=2)"
      ],
      "metadata": {
        "id": "_2B4Kv6989qU"
      },
      "execution_count": 21,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Model Training"
      ],
      "metadata": {
        "id": "I0MMVlZc9dO2"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "1. Linear Regression"
      ],
      "metadata": {
        "id": "sIGY6lpi9e1S"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# londing the linear regression model\n",
        "lin_reg_model = LinearRegression()"
      ],
      "metadata": {
        "id": "9VRE7i5i9ld2"
      },
      "execution_count": 32,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "lin_reg_model.fit(X_train,Y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "YeApbyVN9t7l",
        "outputId": "d6d5a8e0-4a24-414f-ccc2-6683b5e50fb6"
      },
      "execution_count": 24,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "LinearRegression()"
            ]
          },
          "metadata": {},
          "execution_count": 24
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Model Evaluation"
      ],
      "metadata": {
        "id": "i_AjKxTD93yu"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# prediction of training data\n",
        "training_data_prediction = lin_reg_model.predict(X_train)"
      ],
      "metadata": {
        "id": "lie8daEG-Aep"
      },
      "execution_count": 25,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# R squared Error \n",
        "error_score = metrics.r2_score(Y_train , training_data_prediction)\n",
        "print('R squared Error : ', error_score)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "O2mimqYq-PM5",
        "outputId": "4a8d9a03-fc30-486a-d4e3-15dc19f9a68e"
      },
      "execution_count": 29,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "R squared Error :  0.8799451660493711\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Visualize the actual prices and Predicted prices"
      ],
      "metadata": {
        "id": "QYoW-nMf-4qX"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "plt.scatter(Y_train,training_data_prediction)\n",
        "plt.xlabel(\"Actual Price\")\n",
        "plt.ylabel(\"Predicted Price\")\n",
        "plt.title(\"Actual Prices vs Predicted Prices\")\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        },
        "id": "j4ogc8RX_AXl",
        "outputId": "4369a6dd-2464-4412-9679-0bf9aad327bd"
      },
      "execution_count": 27,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# prediction on Test data\n",
        "test_data_prediction = lin_reg_model.predict(X_test)"
      ],
      "metadata": {
        "id": "hqm3OPTY_tWB"
      },
      "execution_count": 28,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# R squared Error \n",
        "error_score = metrics.r2_score(Y_test , test_data_prediction)\n",
        "print('R squared Error : ', error_score)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "DVEvD3oZ_7Re",
        "outputId": "b4c410ec-0e14-41ee-b81d-8e35dc348cfa"
      },
      "execution_count": 30,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "R squared Error :  0.8365766715027051\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plt.scatter(Y_test,test_data_prediction)\n",
        "plt.xlabel(\"Actual Price\")\n",
        "plt.ylabel(\"Predicted Price\")\n",
        "plt.title(\"Actual Prices vs Predicted Prices\")\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        },
        "id": "KPXYHTZUAIPx",
        "outputId": "768cf393-c026-478b-b421-029c62a3407b"
      },
      "execution_count": 31,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Lasso Regression"
      ],
      "metadata": {
        "id": "9JqSxvgSAcuh"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# londing the linear regression model\n",
        "lass_reg_model = Lasso()"
      ],
      "metadata": {
        "id": "SKs89UdQA51i"
      },
      "execution_count": 33,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "lass_reg_model.fit(X_train,Y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "e2a3a27d-0a38-4558-990a-34732a669898",
        "id": "nwWldiODA51j"
      },
      "execution_count": 34,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Lasso()"
            ]
          },
          "metadata": {},
          "execution_count": 34
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Model Evaluation"
      ],
      "metadata": {
        "id": "S_WKW35HA51j"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# prediction of training data\n",
        "training_data_prediction = lass_reg_model.predict(X_train)"
      ],
      "metadata": {
        "id": "H9ofksN-A51j"
      },
      "execution_count": 35,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# R squared Error \n",
        "error_score = metrics.r2_score(Y_train , training_data_prediction)\n",
        "print('R squared Error : ', error_score)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "7fbed424-c4c5-4d42-92e3-e0d1109a8343",
        "id": "fWwmWwxXA51j"
      },
      "execution_count": 36,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "R squared Error :  0.8427856123435794\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Visualize the actual prices and Predicted prices"
      ],
      "metadata": {
        "id": "N0pfD9FjA51j"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "plt.scatter(Y_train,training_data_prediction)\n",
        "plt.xlabel(\"Actual Price\")\n",
        "plt.ylabel(\"Predicted Price\")\n",
        "plt.title(\"Actual Prices vs Predicted Prices\")\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        },
        "outputId": "c5927e4b-4225-4de6-830e-2dfc8a6c863c",
        "id": "tYuJtK58A51j"
      },
      "execution_count": 37,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# prediction on Test data\n",
        "test_data_prediction = lass_reg_model.predict(X_test)"
      ],
      "metadata": {
        "id": "jdidj_H0A51j"
      },
      "execution_count": 38,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# R squared Error \n",
        "error_score = metrics.r2_score(Y_test , test_data_prediction)\n",
        "print('R squared Error : ', error_score)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "a8e908db-e0ae-4d24-a9a7-68c98d0b12df",
        "id": "mdIPK42EA51k"
      },
      "execution_count": 39,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "R squared Error :  0.8709167941173195\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plt.scatter(Y_test,test_data_prediction)\n",
        "plt.xlabel(\"Actual Price\")\n",
        "plt.ylabel(\"Predicted Price\")\n",
        "plt.title(\"Actual Prices vs Predicted Prices\")\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        },
        "outputId": "2029b3c3-65df-44b7-adfb-9f0c44710598",
        "id": "8VNacgYBA51k"
      },
      "execution_count": 40,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    }
  ]
}